This page last changed on Dec 16, 2009 by npaessel.
embryonic thoughts about pubsub systems for CC software architecture.
What do I want to do with a pubsub server:
- Distributed work pipeline:
- workers process items in their inboxes.
- publish their results in a result box.
- small autonomous & decoupled consumers (federated architecture)
- scalable
- Distributed event notification:
- eg: Realtime reporting for teachers.
- eg: Realtime data sharing for students
- Unified Logging & Reporting
- Applications can log messages in one location.
- message consumers can create log summaries and reports.
- Selected log messages can be rebroadcast by consumers to other venues: Mail, IRC, Growl.
What I want in a pubsub solution:
- message locks (when one consumer is consuming the resource is locked, preventing simultaneous consumption.
- optional per channel security based on IP or credentials
- multiple protocol support (http / xmpp / stomp)
- pushlike client interfaces (non-polling persistant open socket as an option?)
- simple libraries for Ruby & Java.
Some options:
- ActiveMQ Grandady general purpose MQ system.
- pubsubhubbub Web based RSS notification system – not really appropriate.
- AmazonSQS Amazon Simple Que Services – looks like http/soap with polling for clients. $0.01 / 10K requests.
Related articles & Links:
|